home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1997 / HAM Radio 1997.iso / vcls / date / examples / exlogin0.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1996-04-08  |  1.5 KB  |  70 lines

  1. unit Exlogin0;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls, AdTerm, AdPort;
  8.  
  9. type
  10.   TLoginState = (lName, lPassword, lOther);
  11.  
  12.   TForm1 = class(TForm)
  13.     ApdComPort1: TApdComPort;
  14.     ApdTerminal1: TApdTerminal;
  15.     Button1: TButton;
  16.     procedure Button1Click(Sender: TObject);
  17.     procedure ApdComPort1TriggerData(CP: TObject; TriggerHandle: Word);
  18.   private
  19.     { Private declarations }
  20.     DataTrig : Word;
  21.     LoginState : TLoginState;
  22.  
  23.   public
  24.     { Public declarations }
  25.   end;
  26.  
  27.  
  28. var
  29.   Form1: TForm1;
  30.  
  31. implementation
  32.  
  33. {$R *.DFM}
  34.  
  35. procedure TForm1.Button1Click(Sender: TObject);
  36. begin
  37.   {Start the login process, dial...}
  38.   ApdComPort1.Output := 'atm0dt9,260-9726'^M;
  39.   LoginState := lName;
  40.  
  41.   {Setup next data trigger}
  42.   DataTrig := ApdComPort1.AddDataTrigger('name?', true);
  43. end;
  44.  
  45. procedure TForm1.ApdComPort1TriggerData(CP: TObject; TriggerHandle: Word);
  46. begin
  47.   {Got latest data trigger, send next}
  48.   ApdComPort1.RemoveTrigger(DataTrig);
  49.   case LoginState of
  50.     lName :
  51.       begin
  52.         ApdComPort1.Output := 'joe blow'^M;
  53.         DataTrig := ApdComPort1.AddDataTrigger('password?', true);
  54.         LoginState := lPassword;
  55.       end;
  56.  
  57.     lPassword :
  58.       begin
  59.         ApdComPort1.Output := '123'^M;
  60.         DataTrig := ApdComPort1.AddDataTrigger('?', true);
  61.         LoginState := lOther;
  62.       end;
  63.  
  64.     lOther :
  65.       ShowMessage('done');
  66.   end;
  67. end;
  68.  
  69. end.
  70.